package com.cn.xiaonuo.tcrfinance.tcrshops.service;

import com.cn.xiaonuo.common.entity.BusinessMessage;
import com.cn.xiaonuo.tcrfinance.tcrorder.param.ReflectRecordParam;
import com.cn.xiaonuo.tcrfinance.tcrshops.entity.PvOrderDelivery;
import com.cn.xiaonuo.tcrfinance.tcrshops.entity.PvOrderRefund;
import com.cn.xiaonuo.tcrfinance.tcrshops.entity.PvOrderRequest;
import com.cn.xiaonuo.tcrfinance.tcrshops.param.*;

import java.util.Map;

public interface PlatformService {

    BusinessMessage queryShopList(PvShopReqParam pvShopReqParam);

    BusinessMessage addShop(PvShopParam pvShop);

    BusinessMessage updateShop(PvShopParam pvShop);

    // 物流订单（自营）
    BusinessMessage selectOrderLogisticsByself(Map<String, Object> params);

    // 发货（自营）
    BusinessMessage updateOrderLogisticsByselfStatus(Map<String, Object> params);

    // 充值记录
    BusinessMessage selcetInGoldemDeatail(PlatformParam params);

    // 提现记录
    BusinessMessage selcetOutGoldemDeatail(ReflectRecordParam reflectRecordParam);

    // 全部物流记录
    BusinessMessage selectPlatformDeliveryDetail(Map<String, Object> params);

    // 申请提现记录
    BusinessMessage selectRemitDetail(ReflectRecordParam reflectRecordParam);

    // 打款操作
    BusinessMessage updateRemitStatus(Map<String, Object> params);

    BusinessMessage updateBatchRemitStatus(Map<String, Object> params);

    // 财务给商家打款之后 改变 状态 操作
    BusinessMessage updateJKStatus(Map<String, Object> params);
    /**
     * 三七分润记录
     */
    BusinessMessage  selectNotoginsengDetail(TradeParam tradeParam);

    /**
     * 释放记录
     * @param params
     * @return
     */
    BusinessMessage selectReleasedDetails(Map<String, Object> params);

    BusinessMessage list( PvShopReqParam pvShopReqParam);

    /**
     * 奖励记录
     * @param platformParamam
     * @return
     */
    BusinessMessage rewardPage(PlatformParam platformParamam);
    /**
     * 剩余记录
     * @param platformParamam
     * @return
     */
    BusinessMessage surplusPage(PlatformParam platformParamam);

    /**
     * 奖品合计
     * @param platformParamam
     * @return
     */
    BusinessMessage prizeTotalPage(PlatformParam platformParamam);

    /**
     * 赠品记录
     * @param platformParamam
     * @return
     */
    BusinessMessage giftPage(PlatformParam platformParamam);

    BusinessMessage selectDeliveryAdd(PvShopParam pvShopParam);

    BusinessMessage selectGeneralOrderList(PvOrderRequest pvOrderRequest);

    BusinessMessage generateRefundOrder(PvOrderRefund pvOrderRefund);

    BusinessMessage selectFinanceRefund(PvOrderRequest pvOrderRequest);

    //乡村振兴--退款订单--审核
    BusinessMessage refundOrderReview(PvOrderRequest pvOrderRequest);

    //乡村振兴--退款订单--取消退款
    BusinessMessage cancelRefund(PvOrderRequest pvOrderRequest);

    //确认退款
    BusinessMessage confirmRefund(PvOrderRequest pvOrderRequest);

    BusinessMessage pickUpOrder(PvOrderRequest pvOrderRequest);

    //乡村振兴--取消提货订单
    BusinessMessage cancelPicking(PvOrderRequest pvOrderRequest);

    //乡村振兴--取消提货订单--审核
    BusinessMessage cancelPickingReview(PvOrderDeliverysParam pvOrderDeliverysParam) throws Exception;

    //提货订单--关闭订单
    BusinessMessage deliveryGenerateRefundOrder(PvOrderDelivery pvOrderDelivery) throws Exception;

    BusinessMessage idmRefundQuery(String outRefundOrderNo);
}
